package zwp.exercise.service.exercisedemo.chapterFour.PracticeAndExercises;

/**
 * @Author zwp14
 * @create 2025/11/27 22:29
 * @description 无重复组合练习
 * 使用for循环，在控制台输出由4 5 6 7组成的互不相同且没有重复数字的三位数
 */
public class FourExerciseDemo {
    public static void main(String[] args) {

        int startNum = 4;
        int endNum = 7;
        int countNum = 0;

        for (int i = startNum; i <= endNum; i++) {
            for (int j = startNum; j <= endNum; j++) {
                // 避免百位数和十位数相等，
                if (i == j) {
                    continue;
                }
                for (int k = startNum; k <= endNum; k++) {
                    // 避免十位数和个位数相等，在上述的百位和十位数已经避免相等，
                    // 故这里只需要避免百位数和个位数，以及十位数和个位数相等即可，综上相结合，也就避免了个十百位数相同
                    if (i == k || j == k) {
                        continue;
                    }
                    System.out.println(i * 100  + j * 10 + k +"");
                    countNum++;
                }
            }
        }
        System.out.println("总共有不重复的三位数的个数为：" + countNum);
    }
}
